package cn.tedu.csmall.passport.service;

import cn.tedu.csmall.passport.pojo.dto.AdminAddNewDTO;
import cn.tedu.csmall.passport.pojo.dto.AdminLoginDTO;
import cn.tedu.csmall.passport.pojo.entity.Admin;
import cn.tedu.csmall.passport.pojo.vo.AdminListItemVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 管理员Service
 * @author 何惠民
 */
@Transactional
public interface IAdminService {

    /**
     * 管理员登录
     * @param adminLoginDTO 封装了用户名和面
     * return 登录成功后生成的匹配的JWT
     */
    String  login(AdminLoginDTO adminLoginDTO);

    /**
     * 添加管理员
     * @param adminAddNewDTO
     */
    void addNew(AdminAddNewDTO adminAddNewDTO);

    /**
     * 根据id删除管理员
     * @param id
     */
    void deleteById(Long id);

    /**
     * 更新管理员启用
     * @param id
     */
    void setEnable(Long id);
    /**
     * 更新管理员禁用
     * @param id
     */
    void setDisable(Long id);

    /**
     * 查询管理员列表
     * @return
     */
    List<AdminListItemVO> list();

}
